package com.ytjj.qmyx.users.dao;

import com.ytjj.common.model.response.OrdersPayResponse;
import com.ytjj.qmyx.mall.model.OrderComplainResponse;
import com.ytjj.qmyx.users.model.circle.Product;
import com.ytjj.qmyx.users.model.response.OrdersForQyResponse;
import com.ytjj.qmyx.users.model.response.ReissueLogisticsResponse;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author jiawei
 * @date 2023年07月10日 11:37
 * @describe 订单相关
 */
public interface OrdersDao {
    /**
     * 根据手机号获取订单数
     */
    Integer orderNumByTel(String tel);

    /**
     * 用户订单
     */
    List<OrdersForQyResponse> getOrdersByTel(@Param("h5Token") String h5Token,
                                             @Param("startIndex") Integer startIndex,
                                             @Param("pageSize") Integer pageSize,
                                             @Param("tel") String tel);

    /**
     * 获取订单总数
     */
    Integer getOrdersTotalByTel(@Param("h5Token") String h5Token, @Param("tel") String tel);

    /**
     * 获取商品信息
     */
    List<Product> getProductByIds(@Param("ids") List<Integer> ids);

    /**
     * 根据token获取用户下单手机号
     */
    String getTelByH5Token(String h5Token);

    /**
     * 根据手机号获取最新的下单的userId
     */
    Integer getUserIdByPhone(@Param("phone") String phone);

    /**
     * 获取订单的补单数据
     */
    ReissueLogisticsResponse getReissueLogistics(String childOrderNo);


    List<OrdersPayResponse> selectResOrderNoByOrderNo(@Param("orderNoList") List<String> orderNoList, Integer payType);

    /**
     * 根据支付单号查询投诉单
     */
    List<OrderComplainResponse> getComplaintsByPayNos(@Param("payNos") List<String> payNos);

}
